package findmyfluffy.findmyfluffy; import findmyfluffy.findmyfluffy.Cat; import com.google.gson.Gson; import com.google.appengine.api.taskqueue.Queue; import com.google.appengine.api.taskqueue.QueueFactory; import static com.google.appengine.api.taskqueue.TaskOptions.Builder.*; import java.io.IOException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * AddLostEntryServlet Class * * This class is a servlet run behind the scenes. It calls a task queue to add a lost cat entity into the datastore. * * @author emilie (Emilie Menard Barnard) - <a href="mailto:emilie@cs.ucsb.edu">emilie@cs.ucsb.edu</a> * @version 1.0 * */ public class AddLostEntryServlet extends HttpServlet { /* (non-Javadoc) * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { //nothing to get } /* (non-Javadoc) * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { //GSON Conversion: Gson gson = new Gson(); try { StringBuilder sb = new StringBuilder(); String s; while ((s = req.getReader().readLine()) != null) { sb.append(s); } Cat lostCatInfo = (Cat) gson.fromJson(sb.toString(), Cat.class); String lostCatName = lostCatInfo.petname; //set up chip info: String chipped = "false"; if (lostCatInfo.chip != null && !lostCatInfo.chip.isEmpty()) { if (lostCatInfo.chip.equals("chip")){ chipped = "true"; } } //set up sex info: if (lostCatInfo.sex.equals("m")){ lostCatInfo.sex = "male"; } if (lostCatInfo.sex.equals("f")){ lostCatInfo.sex = "female"; } //Task Queue Queue queue = QueueFactory.getDefaultQueue(); queue.add(withUrl("/lostcatadder").param("name", lostCatName).param("chip", chipped).param("age", lostCatInfo.age).param("sex", lostCatInfo.sex).param("breed", lostCatInfo.breed).param("color", lostCatInfo.color).param("area", lostCatInfo.area).param("contactname", lostCatInfo.contactname).param("contactemail", lostCatInfo.contactemail)); } catch (Exception ex) { ex.printStackTrace(); } } }